Javascript語法是框架中很重要的角色,今天就要來理解ES6的一些新語法。
以前的var
可以打天下,ES6後出現了block
概念,因而生出了兩個宣告方式— const
& let
。
var
函式內宣告,只有在函式內才能有作用。
function test() {
var num = 1;
console.log(num); //1
}
console.log(num); //error
被取代的最致命原因是在一些區塊語句(if
、else
、 for
、 while
…)裡面用 var
宣告的變數,會洩漏到全域中。
var num = 1;
If (true) {
var num = 5;
}
console.log(num) //5 區域覆蓋全域變數
const
又稱常數,也就是不能改變的值,在宣告時就要值。
const num = 1;
let
let
與 var
其實很像,最大的不同是 let
所宣告的變項只有在代碼塊區域(block scope)內有效。
let num = 1;
If (true) {
let num = 5;
}
console.log(num) //1 全域變數不被影響
過去取物件的值需要這樣寫
const price = {
apple: 20,
orange: 15,
};
const apple= price.apple
const orange= price.orange
新的寫法更加簡便,可以這樣寫
const price = {
apple: 20,
orange: 15,
};
const {apple,orange}=price
console.log(apple)//20
console.log(orange)//20
要將變數化成物件的寫法最直白的方式就是
const apple = 20
const orange = 15
const price = {
apple: apple,
orange: orange,
};
一旦變數很多的時候這樣的寫法會變得相當攏長,於是衍生出新的寫法
const apple = 20
const orange = 15
const price = {
apple,
orange
};